
package limfic.persistencia.mysql.equipo;

import limfic.dominio.Equipo;
import limfic.persistencia.mysql.RepositorioGenerico;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *<p>
 * IEquipoRepositorio Hereda de IRepositorioGenerico
 * </p>
 * <p>
 * EquipoRepositorio hereda de Repositorio Generico, que es una clase que contiene las operaciones genericas que se utilizan
 * </p>
 * @author OpenCodes
 *
 * @see RepositorioGenerico
 *
 * @see IEquipoRepositorio

 */
public class EquipoRepositorio extends RepositorioGenerico<Equipo> implements IEquipoRepositorio {

    public EquipoRepositorio(Connection connection) {
        super(connection);
    }

    @Override
    protected String sqlExiste(String[] parametrosChekeo) {
        String sql = "Select idequipo from equipo where nombre='"
                + parametrosChekeo[0] + "'" ;
        return sql;
    }

    @Override
    protected String sqlAgregar(Equipo equipo) {
        String sql="Insert into equipo (nombre) values ('" + equipo.getNombre() + "')" ;
        return sql;
    }

    @Override
    protected String sqlModificar(Equipo equipo) {
        String sql="Update equipo set nombre='" + equipo.getNombre() + "' where idequipo=" + equipo.getId() ;
        return sql;
    }

    @Override
    protected String sqlEliminar(Equipo equipo) {
        String sql="Delete from equipo where idequipo=" + equipo.getId() ;
        return sql;
    }

    @Override
    protected String sqlObtenerUno(String id) {
        String sql="Select * from equipo where idequipo=" + id;
       return sql;
    }

    @Override
    protected String sqlObtenerAlgunos(String[] parametrosBusqueda) {
        String sql = "Select * from equipo where nombre like '%"
                + parametrosBusqueda[0] + "%'" ;
        return sql;
    }

    @Override
    protected String sqlObtenerTodos() {
         String sql = "Select * from equipo";
         return sql;
    }
    @Override
    public Equipo mapearFila(ResultSet resultSet) throws SQLException {
         int i = 1; // es el indice de la columna
		// equipo
		int id = resultSet.getInt(i++);
		String nombre = resultSet.getString(i++);
        Equipo equipo=null;
        equipo= new Equipo(id, nombre);
		return equipo;
    }

}
